//作业讲解

#include<stdio.h>
#include<string.h>

//字符串倒序
int my_strlen(char*str)
{
    if (*str != '\0')
    {
        return 1+my_strlen(str+1);

    }
    else
        return 0;
}
//非递归实现
void rever_string(char*string)
{
    int left =0;
    int right =my_strlen(string)-1;
    while (left<right)
    {
        //char tmp =string[left];
        char tmp =*(string+left);//相当于上一句
        string[left] = string[right];
        string[right] = tmp;
        left++;
        right--;
    }

}
//递归实现
void re(char*str)
{
    char tmp = *str;
    int len = my_strlen(str);
    *str =*(str +len-1);
    *(str+len-1)='\0';//最后一个变为\0
    if (my_strlen(str+1)>=2)//判断剩余字符
    {
        re(str+1);
    }
    *(str+len-1)=tmp;//把开始的移出的字符放回到最后
    
}


int main()
{
    char arr[] = "abcdef";
    /rever_string(arr);
    re(arr);

    printf("%s\n",arr);
    
    return 0;
}